package com.xAdmin.domain.entity.core;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 操作日志实体类
 * @author: xiaYZ 2025/3/6
 * @version: 1.0
 */

@Data
@TableName("core_log")
public class CoreLog {

    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 操作人id
     */
    @TableField("user_id")
    private Long userId;

    /**
     * 操作人姓名
     */
    @TableField("user_name")
    private String userName;

    /**
     * 接口路径
     */
    @TableField("path")
    private String path;

    /**
     * 模块代码
     */
    @TableField("module_code")
    private String moduleCode;


    /**
     * 模块名称
     */
    @TableField(exist = false)
    private String moduleName;

    /**
     * 类型 0, "其他操作"、1, "用户登录"、2, "新增数据"、3, "修改数据"、4, "删除数据"、5, "数据导入"、6, "数据导出"
     */
    @TableField("type")
    private Integer type;

    /**
     * 类型名称
     */
    @TableField(exist = false)
    private String typeName;
    /**
     * 接口描述
     */
    @TableField("description")
    private String description;

    /**
     * 接口入参
     */
    @TableField("parameters")
    private String parameters;

    /**
     * 返回结果
     */
    @TableField("result")
    private String result;

    /**
     * IP地址
     */
    @TableField("ip")
    private String ip;

    /**
     * 结果类型（0成功，1失败）
     */
    @TableField("result_type")
    private Integer resultType;

    /**
     * 操作时间
     */
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;
}
